using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;

namespace MaskData
{
	
	public class NavigateTreeNode
	{
		/// <summary>
		/// display name
		/// </summary>
		private String _name = "";
		public String Name
		{
			get {
				return _name;
			}
		}

		public String NodeID
		{
			get {
				return _MaskNodeID;
			}
		}

		/// <summary>
		/// condition element
		/// </summary>
		private ConditionElement _condition;
		public ConditionElement Condition
		{
			get {
				return _condition;
			}
			set {
				_condition = value;
			}
		}

		/// <summary>
		/// all the child nodes
		/// </summary>
		private List<NavigateTreeNode> _Children = new List<NavigateTreeNode>();
		public List<NavigateTreeNode> Children
		{
			get {
				return _Children;
			}
		}
		/// <summary>
		/// parent node
		/// </summary>
		private NavigateTreeNode _Parent;
		public NavigateTreeNode Parent
		{
			get {
				return _Parent;
			}
			set {
				_Parent = value;
			}
		}

		private readonly Int32 _ParentID;
		public Int32 ParentID
		{
			get {
				return _ParentID;
			}
		}
		private readonly Int32 _treeNodeID;
		public Int32 TreeNodeID
		{
			get {
				return _treeNodeID;
			}
		}


		private readonly String _MaskNodeID;
		public NavigateTreeNode(
			String name, 
			NavigateTreeNode parent, 
			String maskNodeID, 
			Int32 treeNodeID,
			Int32 parentID)
		{
			_name = name;
			_Parent = parent;
			_MaskNodeID = maskNodeID;
			_treeNodeID = treeNodeID;
			_ParentID = parentID;
		}

		public void AddChild(NavigateTreeNode child)
		{
			_Children.Add(child);
		}

	}

}
